package com.resou.reader.mine.login;

import android.content.Context;

import com.resou.reader.api.entry.LoginData;
import com.resou.reader.base.BasePresenter;
import com.resou.reader.base.BaseView;
import com.resou.reader.mine.listener.LoginListener;
import com.umeng.socialize.bean.SHARE_MEDIA;

public interface ILoginContact {
    interface ILoginView extends BaseView {
        /**
         * 提示消息
         *
         * @param msg 提示内容
         */
        void toastMsg(String msg);


        /**
         * 更新发送验证码信息
         *
         * @param text
         * @param isFinished
         */
        void updateVerifyText(String text, boolean isFinished);


        void dismiss();

        /**
         * 隐藏进度
         */
        void hideProgress();

        /**
         * 手机登录
         */
        void phoneLogin();

        /**
         * 微信登录
         *
         * @param platform
         */
        void winXinLogin(SHARE_MEDIA platform);

        /**
         * qq登录
         *
         * @param platform
         */
        void qqLogin(SHARE_MEDIA platform);

        void loginSuccess(LoginData loginData);

    }

    interface ILoginPresenter extends BasePresenter {
        /**
         * 发送验证码
         *
         * @param phone
         */
        void sendSMS(String phone);

        /**
         * 点击验证码后开始倒计时
         */
        void startCountDownTimer();

        /**
         * 倒计时结束
         */
        void onViewDismiss();

        /**
         * 账号合并
         *
         * @param state    状态 0：手机登录、1：微信登录、2：qq登录
         * @param account  账号
         * @param platform 平台
         */
        void mergeAccount(int state, String account, SHARE_MEDIA platform);

        /**
         * 验证码登录
         *
         * @param mobile 电话号码
         * @param code   验证码
         */
        void smsLogin(String mobile, String code);

        /**
         * 友盟第三方登录
         *
         * @param platform
         * @param loginType
         * @param unionid
         * @param sex
         * @param name
         * @param icon
         */
        void login(SHARE_MEDIA platform, String loginType, String unionid, String sex, String name, String icon);

        void uPshSetting(int userId);

        /**
         * 同步活动信息
         */
        void syncActivityInfo(Context context);

        /**
         * 从服务器读三天充值状态
         *
         * @param context
         */
        void saveRechargeActivityState(Context context);
    }
}
